单片机复位电路详解
上电复位电路参数分析
01
絮絮叨叨
今天在焊接完板子后,发现用ST-Link可以检测到芯片,但是下载却失败。
后面使用STM32CubeProgrammer连接芯片的时候提示,复位失败,看到这里赶紧检查原理图,发现复位电路电阻和电容画反了!!!
找到这个问题后,有点不能接受,这么简单的电路就没使用之前的电路了,直接动手画,结果真的栽在这里了!
反思之后决定详细分析复位电路的原理,弄清楚原理之后,以后就算从头开始也不会出错了!于是有了这篇文章。
02
复位电路简述
复位电路的应该称为上电复位电路,其主要是在单片机上电后产生一个稳定的低电平脉冲信号,使单片机复位到默认状态。
下图是一个经典的STM32复位电路,电路非常简单:由一个10K的电阻和一个100nF的电容构成。芯片复位脚接到RST,系统上电后产生一个低电平脉冲。手动复位只需在电容两端并联一个按键即可。
03
复位电路原理
上面的复位电路的实质就是一个RC重放电电路。在系统上电时,电源电压从零逐渐加到VCC,由于电容两端电压不能突变。电流通过电阻限流缓慢给电容充电,充电时间由R1和C1参数决定。
在充电过程中,RST电压逐步增加经过一段时间后,系统进入稳态,RST引脚处于高电平。
RST引脚在上电时逐渐上升的电压经过内部的施密特触发器后,低于其阈值为低电平,当电容逐渐充电,电压高于触发阈值时为高电平,系统启动。
04
复位电路参数计算
在上面提到,复位电路的原理是通过RC电路给电容充电,RST两端的电压变化,经过施密特触发器后进入单片机进行处理。
我们只需要知道上面的施密特触发阈值和复位最低时间即可计算出复位电路参数。
查找手册,STM32复位时间最低为20us,引脚低电平触发阈值(VIL最大值)为0.8V。假设电源电压为3.3V,带入数据到电容充放电公式。
可计算出RC乘积大于 3.6*10^-5 即可满足要求。
在文章最开头的复位电路中,RC值为10^-3,远大于RC要求最小值。经过计算上述电路,在3.3V条件下,升到0.8V需要的时间为1.417ms。完全满足设计要求,我们也可以使用其他相近参数的元件进行替代,可以达到同样的效果。
05
结语
需要注意的是对于STM32是低电平复位,但是有的芯片是高电平复位(比如51单片机),其复位原理与上面相同,只是把电阻和电容的位置换一下。
所以说以后抄作业的时候要看看有没有抄对题啊!(╯°□°)╯︵ ┻━┻
THE
END
这里是非典型技术宅。如果本文对你有帮助,那就点个转发再看吧~
微信号|非典型技术宅
往期推荐 ·